/*
  1、页面被打开的时候 onshow
    0、onshow 不同于 onload 其不能在形参上接收 options参数的
      判断缓存中是否有token
      没有直接跳转到授权页面
      有的话 直接往下进行
    1、获取url上的参数
    2、根据type去发生请求获取回应的订单数据
    3、渲染页面
  2、点击不同的标题 重新发送请求来获取渲染数据

*/


import {request} from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';


Page({
  data: {
    //顶部tap切换
    tabs:[
      {
        id:1,
        value:'待付款',
        isActive:false
      },
      {
        id:2,
        value:'今日配送',
        isActive:false
      },
      {
        id:3,
        value:'待评价',
        isActive:false
      },
    ],
    type:'',
    //订单假数据  
    orders:[
      {
        number:'GD20190427000000000567',
        pricr:'279',
        time:'2019/4/27下午4：48：06'
      },
      {
        number:'GD20190427000000000568',
        pricr:'2343',
        time:'2019/4/27下午4：48：06'
      },
      {
        number:'GD20190427000000000569',
        pricr:'4234',
        time:'2019/4/27下午4：48：06'
      },
      {
        number:'GD20190427000000000570',
        pricr:'321',
        time:'2019/4/27下午4：48：06'
      },
      {
        number:'GD20190427000000000571',
        pricr:'2345',
        time:'2019/4/27下午4：48：06'
      }
    ],
    time:1565347820,//时间戳
    Time:'',//时间戳转换后的值
  },

  onShow(){

    //时间戳转换
    const time = this.data.time;
    const Time = new Date(time*1000).toLocaleString();
    this.setData({
      Time
    });
   
    // 判断缓存中是否有token
    const token = wx.getStorageSync('token');
    if(!token){
      wx.navigateTo({
        url: '/pages/auth/index',
      });
      return;
    };

    // 通过页面栈 实现不通过 onload 来获取 url 上面的 参数值?
    //1、获取当前小程序的页面栈 -数组 长度最大10页面
    let pages = getCurrentPages();
    //2、数组中 索引最大的页面是当前页面
    let currentPages = pages[pages.length-1];
    // 3 获取url上的参数
    const type = currentPages.options.type;
    this.setData({
      type
    });
    this.getOrders();

    // 页面跳转选中状态判断,根据上一个页面的ulr参数,进行判断(修改完,需要重新设置)
    const tabs = this.data.tabs;
    // 遍历数组
    tabs.forEach(v=>{
      if(v.id == type){
        v.isActive = true;
      }
    // 数据回填,重新设置
      this.setData({
        tabs
      });
    })


  },

  // 获取订单列表的方式
  async getOrders(type){
    console.log('this.data.type',this.data.type);
    const res = await request({
      url:'/my/orders/all',
      method:'get',
      data:{type:this.data.type}
    })
    
  },

  //标题的点击事件 从子组件传递过来的
  handleTabsItemChange(e){
    console.log('e',e);
    // 1、获取被点击的标题索引
    const index = e.detail;
    // 2、修改原数组
    let tabs = this.data.tabs;
    tabs.forEach((v,i) =>i === index?v.isActive = true:v.isActive = false)
    // 3、赋值
    this.setData({
      tabs:tabs
    })
    console.log('index',index);
    this.setData({
      type:index
    });
    this.getOrders();//重新发送请求
  },

})